import { _decorator, Component, game, Node, sys, } from 'cc';
import { loadRes } from '../utils/loadRes';
import { localData, pingtai, resPath } from '../data/enums';
import { load, save } from '../utils/tools';
import { gameConfig } from '../data/gameConfig';
import { LevelManager } from '../utils/LevelManager';
import { LocalStorage } from '../localStorage/LocalStorage';
const { ccclass, property } = _decorator;

@ccclass('mainTs')
export class mainTs extends Component {
    start() {
        this.resLoad();
    }
    /**
  * 加载资源
  */
    resLoad() {
        this.loadData();
        LevelManager.Instance.loadLevelData();
        loadRes.ins.loadBundle('bundles');
        loadRes.ins.resLoad(resPath.UIFab);
        loadRes.ins.resLoad(resPath.music);
        loadRes.ins.resLoad(resPath.game);
        loadRes.ins.resLoad(resPath.image);
    }

    loadData() {
        //玩家金币
        const jinBiNumJson = localStorage.getItem(localData.jinbiNum);
        // 检查 levelListJson 是否有效（非空且是字符串）
        if (jinBiNumJson && typeof jinBiNumJson === 'string') {
            try {
                gameConfig.jinbiNum = JSON.parse(jinBiNumJson);
            } catch (error) {
                console.error("解析 levelListJson 失败:", error);
                // 可选：保留默认值或设置兜底数据
            }
        }else{
            gameConfig.jinbiNum = 10;
            localStorage.setItem(localData.jinbiNum, JSON.stringify(gameConfig.jinbiNum));
        }
        //玩家头像列表
        const playerTxListJson = localStorage.getItem(localData.playerTxList);
        // 检查 levelListJson 是否有效（非空且是字符串）
        if (playerTxListJson && typeof playerTxListJson === 'string') {
            try {
                gameConfig.txList = JSON.parse(playerTxListJson);
            } catch (error) {
                console.error("解析levelListJson 失败:", error);
            }
        }else{
            //就用默认的，在gammeConfig.ts里定义了
        }
        //玩家头像
        const playerTxJson = localStorage.getItem(localData.curTx);
        if (playerTxJson && typeof playerTxJson === 'string') {
            try {
                gameConfig.currTxNum = JSON.parse(playerTxJson);
            } catch (error) {
                console.error("解析 levelListJson 失败:", error);
                // 可选：保留默认值或设置兜底数据
            }
        }else{
            gameConfig.currTxNum = 1;
            localStorage.setItem(localData.curTx, JSON.stringify(gameConfig.currTxNum))
        }
    }
}


